ম্যাজেন্টো ফ্রেমওয়ার্ক (Magento Framework) তে Extensions Development একটি গুরুত্বপূর্ণ প্রক্রিয়া যা আপনাকে আপনার ই-কমার্স সাইটে নতুন ফিচার এবং ফাংশনালিটি যোগ করার সুযোগ দেয়। ম্যাজেন্টো এক্সটেনশনগুলির মাধ্যমে আপনি সহজেই সাইটের কার্যকারিতা বাড়াতে এবং ব্যবসার চাহিদা অনুযায়ী কাস্টম ফিচার যোগ করতে পারেন। এখানে আমরা Magento Extensions Development এর প্রক্রিয়া এবং সেরা অনুশীলনগুলি আলোচনা করব।
Magento Extensions হল প্লাগইন বা মডিউল যা আপনার সাইটে নতুন বৈশিষ্ট্য এবং কার্যকারিতা যোগ করে। ম্যাজেন্টোতে এক্সটেনশন ডেভেলপ করার জন্য আপনাকে নতুন মডিউল তৈরি করতে হবে যা বিভিন্ন ফিচারের জন্য API, UI, কাস্টম ফাংশন, এবং ডেটাবেস সম্পর্কিত কাজ সম্পাদন করবে।
একটি Magento এক্সটেনশন সাধারণত নিম্নলিখিত স্ট্রাকচার অনুসরণ করে:
[Vendor]
হল আপনার কোম্পানি বা ডেভেলপারের নাম, এবং [Module]
হল আপনার এক্সটেনশন বা মডিউলের নাম।এখন আমরা Magento তে একটি কাস্টম এক্সটেনশন ডেভেলপ করার জন্য যে পদক্ষেপগুলি অনুসরণ করতে হবে, সেগুলি আলোচনা করব।
একটি এক্সটেনশন তৈরি করতে প্রথমে একটি নতুন মডিউল তৈরি করতে হবে। মডিউলটি app/code/[Vendor]/[Module] ডিরেক্টরিতে রাখা হবে।
registration.php: এই ফাইলটি ম্যাজেন্টোকে মডিউলটি রেজিস্টার করতে সাহায্য করবে।
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Vendor_Module',
__DIR__
);
module.xml: এই ফাইলটি ম্যাজেন্টোকে মডিউলটির কনফিগারেশন এবং সংস্করণ জানাবে।
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Vendor_Module" setup_version="1.0.0"/>
</config>
Magento Extensions কনফিগারেশনের জন্য etc ফোল্ডারে XML ফাইল তৈরি করতে হয়। উদাহরণস্বরূপ, system.xml এবং config.xml ফাইল।
system.xml: এই ফাইলটি আপনার এক্সটেনশনের সেটিংস অ্যাডমিন প্যানেলে কনফিগার করতে সহায়ক।
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/system_file.xsd">
<system>
<section id="my_section" translate="label">
<label>My Section</label>
<group id="general" translate="label">
<label>General Settings</label>
<field id="enabled" translate="label" type="select" showInDefault="1" showInWebsite="1" showInStore="1">
<label>Enabled</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<default>1</default>
</field>
</group>
</section>
</system>
</config>
config.xml: আপনার এক্সটেনশনের কনফিগারেশন এবং ক্যাশ সেটিংস এখানে নির্ধারণ করা হয়।
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/system_file.xsd">
<default>
<vendor_module>
<enabled>1</enabled>
</vendor_module>
</default>
</config>
Model ক্লাস ডেটাবেসের সাথে কাজ করে। উদাহরণস্বরূপ, একটি কাস্টম মডেল তৈরি করতে:
namespace Vendor\Module\Model;
class CustomModel
{
protected $_modelFactory;
public function __construct(
\Magento\Framework\Model\Factory $modelFactory
) {
$this->_modelFactory = $modelFactory;
}
public function getDataFromModel()
{
return $this->_modelFactory->create();
}
}
Controller ক্লাস ইউজারের ইনপুট প্রক্রিয়া করে এবং ফর্ম সাবমিশন পরিচালনা করে। এটি সাধারণত URL থেকে রিকুয়েস্ট পেয়ে উপযুক্ত ডেটা রিটার্ন করে।
namespace Vendor\Module\Controller\Index;
class Index extends \Magento\Framework\App\Action\Action
{
protected $_pageFactory;
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $pageFactory
) {
$this->_pageFactory = $pageFactory;
parent::__construct($context);
}
public function execute()
{
return $this->_pageFactory->create();
}
}
এখানে, execute()
মেথড দ্বারা কন্ট্রোলারটি সাইটের পেজ রেন্ডার করবে।
Block ক্লাস UI উপাদান বা টেমপ্লেট ফাইল রেন্ডার করতে ব্যবহৃত হয়।
namespace Vendor\Module\Block;
class CustomBlock extends \Magento\Framework\View\Element\Template
{
protected $_template = 'Vendor_Module::custom.phtml';
}
এখানে, $_template
টেমপ্লেট ফাইলের অবস্থান নির্দেশ করে। আপনি ব্লকের মাধ্যমে আপনার HTML টেমপ্লেট ফাইল রেন্ডার করতে পারবেন।
view/frontend/templates/custom.phtml ফাইল তৈরি করুন এবং সেখানে HTML কোড লিখুন:
<div>
<h2>Welcome to Custom Extension</h2>
</div>
এটি ব্লক থেকে রেন্ডার হবে এবং আপনার ফ্রন্টএন্ডে প্রদর্শিত হবে।
একবার এক্সটেনশন তৈরি হয়ে গেলে, এটি ইনস্টল এবং সক্রিয় করার জন্য:
Magento CLI ব্যবহার করে এক্সটেনশন ইনস্টল করতে হবে:
php bin/magento setup:upgrade
এক্সটেনশনটি সক্রিয় করার জন্য:
php bin/magento module:enable Vendor_Module
php bin/magento cache:flush
এটি আপনার এক্সটেনশনকে ম্যাজেন্টো সাইটে ইনস্টল এবং সক্রিয় করবে।
Magento তে Extension Development একটি অত্যন্ত শক্তিশালী এবং কার্যকরী প্রক্রিয়া, যা আপনার ই-কমার্স সাইটে কাস্টম ফিচার এবং ফাংশনালিটি যোগ করতে সাহায্য করে। এটি মডিউল তৈরি, কনফিগারেশন ফাইল, কাস্টম মডেল, কন্ট্রোলার, ব্লক এবং টেমপ্লেট তৈরি করার মাধ্যমে সম্পন্ন হয়। ম্যাজেন্টো এক্সটেনশন ডেভেলপমেন্টে সেরা অনুশীলনগুলি মেনে চলা এবং সঠিকভাবে কাস্টম ফিচার তৈরি করা খুবই গুরুত্বপূর্ণ, যাতে সাইটের কার্যকারিতা উন্নত হয় এবং ব্যবহারকারীর অভিজ্ঞতা আরও ভালো হয়।
ম্যাজেন্টো এক্সটেনশন (Magento Extension) হল একটি সফটওয়্যার প্যাকেজ যা ম্যাজেন্টো সাইটের কার্যকারিতা, বৈশিষ্ট্য এবং ফিচারকে উন্নত করতে ব্যবহৃত হয়। এগুলি ম্যাজেন্টো সিস্টেমে নতুন ফিচার যোগ করার জন্য তৈরি করা হয় এবং সাইটের মৌলিক কার্যক্রমের সঙ্গে ইন্টিগ্রেট করে। Magento Extensions ম্যাজেন্টো সাইটের স্কেলেবিলিটি এবং কাস্টমাইজেশন বাড়াতে ব্যবহৃত হয়, যেমন নতুন পেমেন্ট গেটওয়ে যোগ করা, শিপিং মেথড কনফিগার করা, সাইটের লেআউট কাস্টমাইজ করা বা মার্কেটিং টুলস সংযোগ করা।
এখানে আমরা ম্যাজেন্টো এক্সটেনশন সম্পর্কে বিস্তারিত আলোচনা করব এবং কিভাবে এক্সটেনশন কাজ করে তা জানব।
Magento Extension হল একটি প্রোগ্রাম বা প্লাগইন যা ম্যাজেন্টো সিস্টেমের মধ্যে নতুন কার্যকারিতা এবং বৈশিষ্ট্য যোগ করে। এটি ম্যাজেন্টো সাইটে বিভিন্ন ধরণের কার্যকলাপ পরিচালনা করতে পারে যেমন:
এছাড়া, ম্যাজেন্টো এক্সটেনশনগুলি ডেভেলপারদের জন্য সিস্টেমের সুনির্দিষ্ট কার্যকলাপ কাস্টমাইজ করার সুযোগ প্রদান করে।
Magento Extensions সাধারণত PHP, JavaScript, CSS এবং XML ফাইল ব্যবহার করে কাজ করে। এই এক্সটেনশনগুলো ম্যাজেন্টো সিস্টেমের বিভিন্ন ফাংশনালিটি এবং ইন্টারফেসের সাথে সংযুক্ত হয়, যা ম্যাজেন্টো সাইটের ক্ষমতাকে বাড়ায়।
একটি ম্যাজেন্টো এক্সটেনশন সাধারণত তিনটি প্রধান অংশ নিয়ে গঠিত:
এক্সটেনশনটি একটি নির্দিষ্ট বৈশিষ্ট্য বা কার্যকলাপ সিস্টেমে যোগ করতে, বা বিদ্যমান ফিচারগুলিকে পরিবর্তন বা সম্প্রসারিত করতে ব্যবহৃত হয়।
একটি ম্যাজেন্টো এক্সটেনশন সাধারণত কয়েকটি উপাদান নিয়ে গঠিত, যেগুলোর মধ্যে রয়েছে:
ম্যাজেন্টো এক্সটেনশন তৈরি করতে হলে, আপনাকে প্রথমে একটি নতুন মডিউল তৈরি করতে হবে এবং তারপর সেই মডিউলের মধ্যে কার্যকরী কোড এবং ফাইল তৈরি করতে হবে।
Magento তে একটি নতুন এক্সটেনশন তৈরি করতে আপনাকে প্রথমে একটি মডিউল তৈরি করতে হবে। এক্সটেনশনটি ম্যাজেন্টো সিস্টেমের সাথে একত্রিত করার জন্য একটি module.xml ফাইল তৈরি করতে হবে।
module.xml ফাইলটি app/code/[Vendor]/[Module]/etc/
ফোল্ডারে তৈরি করতে হবে।
Example:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="[Vendor]_[Module]" setup_version="1.0.0"/>
</config>
এক্সটেনশনের কার্যকারিতা পরিচালনা করতে Controller ফাইল তৈরি করতে হবে। এই ফাইলটি Controller/Index/
ফোল্ডারে থাকবে।
Example:
<?php
namespace [Vendor]\[Module]\Controller\Index;
class Index extends \Magento\Framework\App\Action\Action
{
public function execute()
{
echo 'Hello, this is a custom extension!';
}
}
এক্সটেনশনটি UI তৈরি করতে Block ফাইলও প্রয়োজন হবে। ব্লকটি Block ফোল্ডারে থাকবে।
Example:
<?php
namespace [Vendor]\[Module]\Block;
class CustomBlock extends \Magento\Framework\View\Element\Template
{
protected $_template = '[Vendor]_[Module]::custom_template.phtml';
}
যদি আপনি একাধিক ফাংশনালিটি পুনরায় ব্যবহার করতে চান তবে একটি Helper ফাইল তৈরি করতে পারেন।
Example:
<?php
namespace [Vendor]\[Module]\Helper;
class Data extends \Magento\Framework\App\Helper\AbstractHelper
{
const XML_PATH_CUSTOM_CONFIG = 'custom_section/custom_group/custom_field';
public function getConfigValue()
{
return $this->_scopeConfig->getValue(self::XML_PATH_CUSTOM_CONFIG);
}
}
Magento এর Observer ব্যবহার করে আপনি সিস্টেম ইভেন্টে আপনার কোড এক্সিকিউট করতে পারেন। Observer ফাইলটি Observer ফোল্ডারে থাকবে।
Example:
<?php
namespace [Vendor]\[Module]\Observer;
use Magento\Framework\Event\ObserverInterface;
class CustomObserver implements ObserverInterface
{
public function execute(\Magento\Framework\Event\Observer $observer)
{
// Observer code here
}
}
একবার আপনার এক্সটেনশন তৈরি হলে, আপনি এটি ম্যাজেন্টো সাইটে ইনস্টল করতে পারেন।
Extension Enable করা:
php bin/magento module:enable [Vendor]_[Module]
Setup Upgrade:
php bin/magento setup:upgrade
Cache Flush:
php bin/magento cache:flush
Magento তে এক্সটেনশন পেতে Magento Marketplace ব্যবহার করা যেতে পারে। এখানে হাজার হাজার এক্সটেনশন পাবেন যা আপনার সাইটের কার্যক্ষমতা এবং ফিচার বৃদ্ধি করতে সহায়ক।
Magento Extension হলো একটি শক্তিশালী পদ্ধতি যার মাধ্যমে আপনি আপনার ই-কমার্স সাইটের ফিচার এবং কার্যকারিতা কাস্টমাইজ করতে পারেন। এক্সটেনশন তৈরি করার জন্য আপনাকে একটি module তৈরি করতে হবে এবং এতে Controller, Block, Helper, Observer ইত্যাদি উপাদান অন্তর্ভুক্ত করতে হবে। Magento তে এক্সটেনশন ইন্সটল, কনফিগার এবং পরিচালনা করা সহজ, যা আপনাকে সাইটে নতুন ফিচার যুক্ত করার সুযোগ দেয়।
ম্যাজেন্টো ফ্রেমওয়ার্কে (Magento Framework) Custom Extension তৈরি করা একটি গুরুত্বপূর্ণ প্রক্রিয়া যা আপনার সাইটের কার্যকারিতা এবং ফিচার সম্প্রসারণ করতে সাহায্য করে। আপনি কাস্টম এক্সটেনশন তৈরি করে ম্যাজেন্টো সিস্টেমে নতুন ফিচার যোগ করতে পারেন, যেমন নতুন পেমেন্ট গেটওয়ে, শিপিং মেথড, প্রোডাক্ট ম্যানেজমেন্ট ফিচার বা গ্রাহক সম্পর্কিত কাজ।
এখানে আমরা ম্যাজেন্টোতে Custom Extension তৈরি করার প্রক্রিয়া বিস্তারিতভাবে আলোচনা করব।
Magento তে একটি Custom Extension তৈরি করার প্রথম পদক্ষেপ হল একটি নতুন মডিউল তৈরি করা। ম্যাজেন্টো মডিউল একটি ছোটো অংশ যা সিস্টেমের বিভিন্ন ফিচারের জন্য কার্যকারিতা যোগ করে।
app/code ডিরেক্টরিতে একটি নতুন ফোল্ডার তৈরি করুন যেখানে আপনার কাস্টম এক্সটেনশন থাকবে। উদাহরণস্বরূপ, আপনার এক্সটেনশনের জন্য একটি ফোল্ডার তৈরি করুন:
app/code/Custom/Example
registration.php
ফাইল তৈরিএই ফাইলটি ম্যাজেন্টোকে জানাবে যে এটি একটি নতুন মডিউল।
app/code/Custom/Example/registration.php:
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Custom_Example',
__DIR__
);
module.xml
ফাইল তৈরিএই ফাইলটি মডিউলটির তথ্য এবং সেটআপ সংস্করণ সংজ্ঞায়িত করে।
app/code/Custom/Example/etc/module.xml:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Custom_Example" setup_version="1.0.0"/>
</config>
এটি ম্যাজেন্টোকে মডিউলটির নাম এবং সেটআপ সংস্করণ সম্পর্কে জানাবে।
এখন, আপনি আপনার কাস্টম এক্সটেনশন বা মডিউলের ফিচার তৈরি করতে পারবেন। উদাহরণস্বরূপ, আমরা একটি কাস্টম পেজ তৈরি করব।
ম্যাজেন্টোতে কাস্টম পেজ বা অ্যাকশন তৈরি করতে, আপনাকে একটি কন্ট্রোলার ক্লাস তৈরি করতে হবে।
app/code/Custom/Example/Controller/Index/Index.php:
<?php
namespace Custom\Example\Controller\Index;
class Index extends \Magento\Framework\App\Action\Action
{
protected $resultPageFactory;
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $resultPageFactory
) {
$this->resultPageFactory = $resultPageFactory;
parent::__construct($context);
}
public function execute()
{
return $this->resultPageFactory->create();
}
}
এটি একটি কন্ট্রোলার ক্লাস যা একটি কাস্টম পেজ রেন্ডার করবে।
Magento তে কাস্টম পেজ তৈরি করার জন্য রাউটিং কনফিগার করতে হবে। এটি app/code/Custom/Example/etc/frontend/routes.xml ফাইলে করা হয়।
app/code/Custom/Example/etc/frontend/routes.xml:
<?xml version="1.0"?>
<router id="standard">
<route id="example" frontName="example">
<module name="Custom_Example"/>
</route>
</router>
এটি ম্যাজেন্টোকে জানাবে যে "/example" URL রাউটের জন্য কাস্টম মডিউল Custom_Example
ব্যবহার হবে।
আপনি যদি আপনার পেজে ডাইনামিক কনটেন্ট যোগ করতে চান, তবে ব্লক এবং টেমপ্লেট তৈরি করতে হবে।
app/code/Custom/Example/Block/Example.php:
<?php
namespace Custom\Example\Block;
class Example extends \Magento\Framework\View\Element\Template
{
public function getCustomText()
{
return "This is a custom text from the block!";
}
}
এটি একটি ব্লক ক্লাস যা একটি কাস্টম টেক্সট রিটার্ন করবে।
এখন, একটি টেমপ্লেট তৈরি করুন যা এই ব্লকটি ব্যবহার করবে:
app/code/Custom/Example/view/frontend/templates/example.phtml:
<h1><?php echo $block->getCustomText(); ?></h1>
আপনি কাস্টম টেমপ্লেটটি একটি পেজে লোড করার জন্য লেআউট ফাইল কনফিগার করতে হবে।
app/code/Custom/Example/view/frontend/layout/example_index_index.xml:
<?xml version="1.0"?>
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Element/UiComponent/etc/ui_configuration.xsd">
<referenceContainer name="content">
<block class="Custom\Example\Block\Example" name="example.block" template="Custom_Example::example.phtml"/>
</referenceContainer>
</layout>
এটি আপনার কাস্টম ব্লকটিকে পেজে লোড করবে।
মডিউল সক্রিয় করুন:
php bin/magento module:enable Custom_Example
php bin/magento setup:upgrade
php bin/magento cache:flush
http://your-magento-site/example/index/index
URL এ গিয়ে আপনার কাস্টম পেজটি দেখুন।setup:install
স্ক্রিপ্ট ব্যবহার করতে পারেন।Magento তে Custom Extension তৈরি করা আপনাকে আপনার সাইটে নতুন ফিচার এবং কার্যকারিতা যোগ করার সুযোগ দেয়। কাস্টম এক্সটেনশন তৈরি করার জন্য প্রথমে একটি মডিউল তৈরি করতে হয় এবং এরপর কন্ট্রোলার, ব্লক, টেমপ্লেট, এবং রাউটিং কনফিগারেশন সহ অন্যান্য উপাদান তৈরি করতে হয়। এক্সটেনশনটি সফলভাবে সক্রিয় করার পর, আপনি সাইটের প্রয়োজন অনুযায়ী বিভিন্ন কাস্টম ফিচার অ্যাড করতে পারেন।
ম্যাজেন্টো ফ্রেমওয়ার্ক (Magento Framework) তে Extension Packaging এবং Distribution একটি গুরুত্বপূর্ণ প্রক্রিয়া, যার মাধ্যমে আপনি আপনার তৈরি করা এক্সটেনশন বা মডিউলকে প্যাকেজ করে সহজে অন্যান্য সিস্টেমে বা গ্রাহকদের কাছে বিতরণ করতে পারেন। এটি ম্যাজেন্টো কমিউনিটিতে নতুন ফিচার যোগ করার জন্য এক্সটেনশন ডেভেলপমেন্টের একটি গুরুত্বপূর্ণ অংশ। ম্যাজেন্টো এক্সটেনশন প্যাকেজিং এবং বিতরণ কিভাবে করা হয়, তা বিস্তারিতভাবে জানবো।
Extension Packaging হল এক্সটেনশন বা মডিউলকে একটি প্যাকেজ আকারে তৈরি করা, যা সহজে ইনস্টল এবং বিতরণ করা যেতে পারে। এটি সাধারণত .tgz, .tar.gz, অথবা .zip ফরম্যাটে করা হয় এবং এতে মডিউলের সমস্ত কোড, কনফিগারেশন, ডিপেন্ডেন্সি এবং অন্যান্য ফাইল অন্তর্ভুক্ত থাকে। এক্সটেনশন প্যাকেজিং প্রক্রিয়া ম্যাজেন্টো কমিউনিটির মধ্যে এক্সটেনশন শেয়ার এবং ইনস্টলেশন সহজ করে তোলে।
একটি এক্সটেনশন প্যাকেজ তৈরি করার প্রথম ধাপ হল সঠিক ডিরেক্টরি স্ট্রাকচার তৈরি করা। ম্যাজেন্টো মডিউল স্ট্যান্ডার্ড ফোল্ডার স্ট্রাকচার অনুসরণ করে। উদাহরণস্বরূপ, যদি আপনি Custom/Shipping
মডিউল তৈরি করেন, আপনার ডিরেক্টরি স্ট্রাকচার এ রকম হতে পারে:
app/
code/
Custom/
Shipping/
Controller/
Model/
view/
etc/
registration.php
composer.json
etc/module.xml
এটি নিশ্চিত করবে যে মডিউলের সমস্ত কোড এবং কনফিগারেশন সঠিকভাবে স্থানান্তরিত হবে।
composer.json ফাইলটি ম্যাজেন্টো এক্সটেনশন প্যাকেজের জন্য অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি এক্সটেনশনটির সমস্ত ডিপেনডেন্সি এবং ইনস্টলেশন স্ক্রিপ্ট সংজ্ঞায়িত করে।
এটি তৈরি করার জন্য, নিম্নলিখিত কোড ব্যবহার করতে পারেন:
{
"name": "custom/shipping",
"description": "Custom Shipping Method Extension",
"require": {
"php": ">=7.1.3",
"magento/framework": ">=100.0.0"
},
"autoload": {
"psr-4": {
"Custom\\Shipping\\": "app/code/Custom/Shipping/"
}
}
}
এখানে, "require" ফিল্ডে ম্যাজেন্টোর নির্দিষ্ট ভার্সন উল্লেখ করা হয়েছে, যাতে এটি ইনস্টলেশনের সময় উপযুক্ত সংস্করণটি ডাউনলোড করে।
এখন, আপনি আপনার মডিউল ডিরেক্টরিকে প্যাকেজ হিসেবে রিকম্প্রেস করতে পারবেন। ম্যাজেন্টো এক্সটেনশনের জন্য ZIP ফাইল একটি জনপ্রিয় প্যাকেজ ফরম্যাট।
app/code/Custom/Shipping
) নির্বাচন করুন।zip
কমান্ড বা ফাইল জিপিং টুল ব্যবহার করে একটি ZIP ফাইল তৈরি করুন।Command Line ব্যবহার করলে:
zip -r custom-shipping.zip app/code/Custom/Shipping
এটি custom-shipping.zip
নামে একটি প্যাকেজ তৈরি করবে, যা আপনার মডিউলটি সঠিকভাবে অন্তর্ভুক্ত করবে।
Extension Distribution হল এক্সটেনশনটি বিভিন্ন ব্যবহারকারীদের কাছে বিতরণ করার প্রক্রিয়া। এটি সাধারণত ম্যাজেন্টো মার্কেটপ্লেসে, বা সিস্টেম অ্যাডমিন প্যানেল অথবা কাস্টম রেপোজিটরি (যেমন, GitHub) থেকে করা হয়।
Magento Marketplace হল ম্যাজেন্টো এক্সটেনশন এবং থিমের জন্য একটি অফিসিয়াল রেপোজিটরি। যদি আপনি একটি এক্সটেনশন তৈরি করেন, আপনি সেটি ম্যাজেন্টো মার্কেটপ্লেসে আপলোড এবং বিতরণ করতে পারেন।
Magento Marketplace তে এক্সটেনশন আপলোড করার জন্য:
আপনি যদি নিজস্ব রেপোজিটরি ব্যবহার করতে চান (যেমন, GitHub বা অন্য সার্ভিস), তবে আপনি সরাসরি সেই রেপোজিটরি থেকে এক্সটেনশন বিতরণ করতে পারেন।
একটি এক্সটেনশন বিতরণের পর, সঠিক ইনস্টলেশন এবং আপডেট মেকানিজম তৈরি করা গুরুত্বপূর্ণ। ম্যাজেন্টো Composer প্যাকেজ ম্যানেজার ব্যবহার করে এক্সটেনশন ইনস্টলেশন এবং আপডেটের সুবিধা প্রদান করে।
এক্সটেনশনটি composer ব্যবহার করে ইনস্টল করতে:
composer require custom/shipping
php bin/magento setup:upgrade
এটি আপনার এক্সটেনশন ইনস্টল করবে এবং ম্যাজেন্টো সিস্টেমের সাথে তার ডিপেন্ডেন্সি আপডেট করবে।
ম্যাজেন্টো ফ্রেমওয়ার্কে Extension Packaging এবং Distribution হল এক্সটেনশন তৈরির একটি অত্যন্ত গুরুত্বপূর্ণ প্রক্রিয়া। আপনি composer.json ফাইল, zip প্যাকেজ, এবং Magento Marketplace অথবা Custom Repository ব্যবহার করে এক্সটেনশন প্যাকেজিং এবং বিতরণ করতে পারেন। এক্সটেনশন তৈরি এবং বিতরণের মাধ্যমে আপনি আপনার Magento সাইটের ফিচার বৃদ্ধি করতে পারেন এবং অন্য ব্যবহারকারীদের সাথে শেয়ার করতে পারেন।
Magento Marketplace হল একটি প্ল্যাটফর্ম যেখানে Magento ডেভেলপাররা তাদের কাস্টম এক্সটেনশন (Extensions) উপস্থাপন করতে পারেন। এখানে, আপনি Magento Extensions বিক্রি বা ডাউনলোড করতে পারেন যা আপনার Magento সাইটের কার্যকারিতা উন্নত করতে সাহায্য করে। Extension Submission প্রক্রিয়াটি কিছু নির্দিষ্ট নিয়ম এবং প্রক্রিয়ার মধ্যে দিয়ে চলে, যা আপনার এক্সটেনশনকে Magento Marketplace এ প্রকাশ করতে সাহায্য করে।
এখানে, আমরা Magento Marketplace Extension Submission এর বিস্তারিত প্রক্রিয়া আলোচনা করব, যাতে আপনি সফলভাবে আপনার এক্সটেনশনটি সবার সামনে উপস্থাপন করতে পারেন।
একটি এক্সটেনশন Magento Marketplace-এ জমা দেওয়ার জন্য আপনাকে প্রথমে কিছু প্রাথমিক পদক্ষেপ অনুসরণ করতে হবে। এই পদক্ষেপগুলি সাধারণত ডেভেলপার অ্যাকাউন্ট তৈরি, এক্সটেনশন তৈরি এবং পর্যালোচনা করার জন্য জমা দেওয়া ইত্যাদি অন্তর্ভুক্ত করে।
এটি প্রথম পদক্ষেপ, এবং আপনি এটি না করলে এক্সটেনশন সাবমিট করতে পারবেন না।
এটি হলো আপনি যা তৈরি করছেন, সেই এক্সটেনশনটি Magento এর জন্য সঠিকভাবে প্রস্তুত করার প্রক্রিয়া। একটি ভাল এক্সটেনশন তৈরি করতে আপনার কিছু গুরুত্বপূর্ণ বিবরণ সঠিকভাবে পূরণ করতে হবে:
এক্সটেনশনটি zip ফাইল আকারে তৈরি করুন এবং এটি নিম্নলিখিত তথ্য অন্তর্ভুক্ত করতে হবে:
এক্সটেনশনের সব ফিচার এবং কার্যকারিতা সম্পর্কে বিস্তারিত জানানো জরুরি। আপনি যেসব ফিচার সরবরাহ করবেন, সেগুলি স্পষ্টভাবে ডকুমেন্ট করতে হবে। এটি গ্রাহকদের জন্য এক্সটেনশনটি কেন ব্যবহার করা উচিত, সে বিষয়ে সঠিক ধারণা প্রদান করবে।
এক্সটেনশন Marketplace-এ সাবমিট করার আগে আপনাকে নিচের কিছু গুরুত্বপূর্ণ তথ্য পূর্ণ করতে হবে:
এক্সটেনশনের নতুন সংস্করণ প্রকাশ করার সময়, আপনাকে Release Notes এবং সংস্করণের ইতিহাস প্রদান করতে হবে যাতে ব্যবহারকারীরা জানতে পারে কোন ফিচারগুলি আপডেট বা পরিবর্তিত হয়েছে।
এক্সটেনশনটি সাবমিট করার পর, ম্যাজেন্টো একটি পর্যালোচনা প্রক্রিয়া শুরু করবে। এটি সাধারণত এক বা একাধিক দিনের মধ্যে হতে পারে। পর্যালোচনার সময়, Magento টিম এক্সটেনশনের কোড, নিরাপত্তা এবং কার্যকারিতা পরীক্ষা করে।
এক্সটেনশনটি যদি Magento Marketplace এর নিয়মাবলী এবং গুণগত মান অনুযায়ী না হয়ে থাকে, তবে এটি প্রত্যাখ্যান করা হতে পারে। এই ক্ষেত্রে, আপনি আপনার এক্সটেনশনে সংশোধন বা আপডেট করে আবার জমা দিতে পারেন।
একবার পর্যালোচনা সফল হলে, আপনার এক্সটেনশন Magento Marketplace এ লাইভ হবে এবং গ্রাহকরা এটি ডাউনলোড বা কিনতে পারবে।
একবার এক্সটেনশন Marketplace-এ লাইভ হলে, আপনি সেটি পরিচালনা এবং আপডেট করতে পারবেন। নতুন ফিচার এবং বাগ ফিক্স করার জন্য নিয়মিত আপডেট প্রদান করুন।
Magento Marketplace এ এক্সটেনশন আপডেট করা খুবই সহজ:
Magento Marketplace এর জন্য Extension Submission প্রক্রিয়াটি একটি ধাপে ধাপে প্রক্রিয়া, যেখানে আপনার এক্সটেনশন সঠিকভাবে তৈরি, কনফিগার এবং পরীক্ষা করা হয়। এক্সটেনশনটি সফলভাবে Marketplace এ সাবমিট করার জন্য সঠিক তথ্য, নিরাপত্তা, এবং কার্যকারিতা নিশ্চিত করতে হবে। এর মাধ্যমে আপনি আপনার এক্সটেনশনটি গ্রাহকদের কাছে পৌঁছাতে পারবেন এবং তাদের চাহিদা অনুযায়ী সেবা দিতে সক্ষম হবেন।
Read more